// 导入userModel中的方法
const {readFile,writeFile} = require('../model/userModel')

module.exports.handleRegister = (req, res) => {
    let { username, password } = req.query
    if (!/^\w{6}$/.test(username)) return res.send({ message: '注册失败!用户名不符合要求!', status: 204 })
    if (!/^\d{6}$/.test(password)) return res.send({ message: '注册失败!密码不符合要求!', status: 204 })

    // 先要读取data.json中的数据tempUser
    let tempUser = readFile('data.json')

    if (tempUser.some(item => item.username === username)) { return res.send({ message: '注册失败!用户名已存在!', status: 204 }) }

    // 将当前数据username, password结合之前tempUser，再次写入data.json
    tempUser.push({username, password})
    writeFile('data.json',tempUser)

    res.send({ message: '注册成功!', status: 200 })
}

module.exports.handleLogin = (req, res) => {
    let { username, password } = req.query
    if (!/^\w{6}$/.test(username)) return res.send({ message: '用户名不符合要求!', status: 204 })
    if (!/^\d{6}$/.test(password)) return res.send({ message: '密码不符合要求!', status: 204 })

    // 获取数据库数据tempUser
    let tempUser = readFile('data.json')

    if(!tempUser.some(item=>item.username === username)) return res.json({message:'用户名不存在',status:204})
    if(tempUser.find(item=>item.username === username).password !== password) return res.json({message:'密码错误',status:204})

    // 在这里需要携带token，并且返回
    res.send({ message: '登录成功!', status: 200 })

tempUser.forEach(item => {
    if (item.username === username && item.password === password) {
        if (newpassword === repeatpassword) {
            item.password = password || newpassword
        } else {
            return res.json({ message: '两次密码输入不一致', status: 204 })
        }
    }
});
//写入数据
writeFile('data.json', tempUser)
console.log(tempUser);
res.send({ message: '用户信息更新成功!', status: 200 });

}